Chrome 138 Beta 版

發布日期:2025 年 5 月 28 日

除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome 公開測試版頻道版本。如要進一步瞭解這裡列出的功能,請點選提供的連結,或參閱 ChromeStatus.com 的清單。截至 2025 年 5 月 28 日,Chrome 138 為 Beta 版。您可以前往 Google.com 的電腦版或 Android 版 Google Play 商店下載最新版本。

CSS 和 UI

此版本新增六項 CSS 和 UI 功能。

CSS stretch 大小設定關鍵字

CSS 大小屬性 (例如 widthheight) 的關鍵字,可讓元素擴大,以便完全填滿所含容器區塊的可用空間。這與 100% 類似,但產生的大小會套用至元素的邊距方塊,而非 box-sizing 所指示的方塊。使用這個關鍵字可讓元素保留其邊界,同時盡可能放大。

符號相關函式 abs()sign() 會計算與引數符號相關的各種函式。

用於 OS 級字型比例的 CSS 環境變數

將使用者偏好的字型比例公開給 CSS。目前,網頁無法偵測使用者是否已透過作業系統偏好設定變更偏好的字型大小。這個 CSS 環境變數會反映使用者選擇的比例。

CSS sibling-index()sibling-count()

sibling-index()sibling-count() 函式可用於 CSS 屬性值中做為整數,根據元素在同層元素中的順序或同層元素的總數,分別為元素設定樣式。這些函式可直接用作整數值,但在 calc() 運算式中會更有趣。

li {
  animation-delay: calc(0.1s * sibling-index());
}

插補進度函式記法:CSS progress() 函式

progress() 函式表示法是一種數學函式,會傳回 <number> 值,代表兩個其他計算 (進度開始值和進度結束值) 之間的一個計算 (進度值) 位置。

Viewport Segments Enumeration API

開發人員可以利用 Viewport Segments API,將網頁版面配置調整為以折疊式裝置為目標。可視區區段會定義可視區內邏輯上獨立區域的位置和大小。當可視區域被一或多個硬體功能 (例如折疊或不同螢幕間的轉軸) 分割時,系統就會建立可視區區段。這些區段是可視區的區域,可由開發人員視為邏輯上不同的區域。

網站 API

在 WebCodecs 中新增對影片影格方向中繼資料的支援

在 WebCodecs 中為各種影片相關介面引入 rotation: intflip: bool 值,方便開發人員使用具有方向的框架來源 (例如 Android 相機和特定媒體)。VideoFrame 介面可讓您以任意旋轉和翻轉方式建立 VideoFrame,並在 VideoFrame 物件上提供此資訊的存取工具。VideoDecoderConfig 物件會取得 rotationflip 欄位,這些欄位會自動在解碼的 VideoFrame 物件上傳出。VideoEncoder 類別會取得機制,用於將旋轉和翻轉資訊從 encode() 傳遞至 EncodedVideoChunkMetadata 的一部分所發出的 VideoDecoderConfig。如果 encode() 以不同方向的幀格呼叫,系統會擲回非致命的例外狀況。configure() 方法可用於重設允許的方向。

Crash Reporting API:is_top_levelvisibility_state

這項功能會在當機回報 API 主體中新增 is_top_levelvisibility_state 字串欄位,並傳送至當機報表的預設報表端點。

在序列化時,對屬性中的 <> 進行轉義

在序列化時,將 <> 轉義為屬性值。這可降低變異 XSS 攻擊的風險,這種攻擊會在屬性值經過序列化和重新剖析後,被解讀為開始標記符記時發生。

指令碼完整性政策

Subresource-Integrity (SRI) 可讓開發人員確保所載入的資產確實是他們想要載入的資產。不過,目前沒有任何方法可讓開發人員確保所有指令碼都已使用 SRI 進行驗證。Integrity-Policy 標頭可讓開發人員斷言,每個特定類型的資源都需要進行完整性檢查。如果嘗試載入該類型的資源時,未提供完整性中繼資料,系統就會失敗並觸發違規報告。

可預測的回報儲存空間配額

針對沒有無限儲存空間權限的網站,透過 StorageManager 的 Estimate API 回報可預測的儲存空間配額。您可以使用回報的儲存空間配額偵測使用者的瀏覽模式,因為無痕模式的可用儲存空間比一般模式少很多。

這是一種緩解措施,可在所有瀏覽模式中,針對具有限制性儲存空間權限的網站,回報人工配額 (等於使用量 + 最小值 (10 GiB,磁碟會四捨五入至最接近的 1 GiB)),藉此避免使用儲存空間 API 偵測使用者的瀏覽模式。擁有無限儲存空間權限的網站不受影響。強制配額也不會受到影響。

重新訂閱時的 pushsubscriptionchange 事件

如果某個來源先前曾經授予推播訂閱權,但因權限變更 (從授予變更為拒絕/預設) 而遭到撤銷,則可在服務工作者中觸發 pushsubscriptionchange 事件,重新授予通知權限。系統會以空白 oldSubscriptionnewSubscription 觸發事件。

推測規則:將 prefetchCacheprerenderCache 新增至 Clear-Site-Data 標頭

Clear-Site-Data 標頭有兩個新值,可協助開發人員清除預先算繪和預先擷取快取:prefetchCacheprerenderCache。這些資訊可透過任何要求傳送,且不必透過文件要求傳送 (例如,這些資訊可在新增至購物車,或登入和登出 API 呼叫回應時傳回,以清除狀態變更的推測)。

推測規則:target_hint 欄位

這會擴充推測規則語法,讓開發人員指定 target_hint 欄位。這個欄位會提供提示,指出目標可供瀏覽的位置,預先算繪的頁面最終會在該位置啟用。當 _blank 指定為提示時,系統可為 window.open() 開啟的可導覽頁面啟用預先算繪頁面。這個欄位不支援預先載入功能。

Storage Access API 的嚴格同源政策

調整 Storage Access API 語意,以便嚴格遵循同源政策,確保安全性。也就是說,在框架中使用 document.requestStorageAccess() 時,系統預設只會將 Cookie 附加至 iframe 來源 (而非網站) 的要求。

Summarizer API

這項 JavaScript API 可產生輸入文字的摘要,並由 AI 語言模型提供支援。瀏覽器和作業系統越來越需要存取語言模型。透過公開這個內建模型,我們可避免每個網站都需要下載自己的多 GB 語言模型,或將輸入文字傳送至第三方 API。摘要 API 特別提供高階 API,可與語言模型互動,以便針對各種用途摘要輸入內容,且不受特定語言模型的影響。您可以使用企業政策 (GenAILocalFoundationalModelSettings) 停用底層模型下載功能,這會導致這個 API 無法使用。

如要進一步瞭解,請參閱使用內建 AI 產生精簡摘要

Language Detector API

這個 JavaScript API 可偵測特定文字使用的語言,並提供可信度等級。這是翻譯語言偵測的重要補充功能,可搭配 Translator API 使用。舉例來說,您可以將使用者輸入的不明語言,判斷其語言,然後翻譯成特定目標語言。雖然瀏覽器通常已具備語言偵測功能,但這項功能可透過 JavaScript API 為網頁開發人員提供相同的效能,並補足翻譯 API 的功能。

您可以使用企業政策 (GenAILocalFoundationalModelSettings) 停用下載基礎模型的功能,這會導致無法使用這個 API。

如要進一步瞭解,請參閱「使用內建 AI 偵測使用的語言」一文。

Translator API

提供語言翻譯功能的 JavaScript API,可用於網頁。雖然瀏覽器越來越常為使用者提供語言翻譯功能,但這類翻譯功能對網頁開發人員也相當實用。尤其是在瀏覽器內建的翻譯功能無法提供協助的情況下,例如直播和互動服務。您可以使用企業政策 (GenAILocalFoundationalModelSettings) 停用底層模型下載作業,以免導致這個 API 無法使用。

如要進一步瞭解如何使用內建 AI 技術進行翻譯,請參閱這篇文章

網頁應用程式範圍擴充功能

新增 "scope_extensions" 網頁應用程式資訊清單欄位,讓網頁應用程式將範圍擴大至其他來源。這可讓控制多個子網域和頂層網域的網站,以單一網頁應用程式的形式呈現。您必須使用 .well-known/web-app-origin-association 設定檔,才能透過列出的來源確認與網頁應用程式的關聯。

在 Android 上透過藍牙連線的 Web Serial

這項功能可讓網頁和網頁應用程式透過藍牙連線至 Android 裝置的序列埠。Android 版 Chrome 現已支援透過藍牙 RFCOMM 的 Web Serial API。其他平台上的現有企業政策 (DefaultSerialGuardSettingSerialAllowAllPortsForUrlsSerialAllowUsbDevicesForUrlsSerialAskForUrlsSerialBlockedForUrls) 會在 Android 的 future_on 狀態中啟用。啟用這項功能後,系統會啟用 SerialAllowUsbDevicesForUrls 以外的所有政策。在 Android 提供系統層級的序列埠支援功能後,SerialAllowUsbDevicesForUrls 會在日後推出的版本中啟用。

淘汰和移除

這個版本的 Chrome 會淘汰及移除下列項目。請造訪 ChromeStatus.com,查看已計劃淘汰、目前淘汰和先前移除的功能清單。

這個版本的 Chrome 已淘汰兩項功能。

淘汰媒體來源擴充功能的非同步範圍移除功能

媒體來源標準早已變更,禁止含有非同步範圍移除作業的行為含糊定義:

  • SourceBuffer.abort() 不再中斷 SourceBuffer.remove() 作業。
  • 設定 MediaSource.duration 無法再截斷目前已緩衝的媒體。

這兩種情況現在都會擲回例外狀況。

移除 SwiftShader 備用機制

允許自動備援至由軟體轉譯器 SwiftShader 支援的 WebGL 已淘汰,且 WebGL 建立作業將失敗,而不會備援至 SwiftShader。這麼做有兩個主要原因:

  1. 由於 JIT 程式碼會在 Chromium 的 GPU 程序中執行,因此 SwiftShader 存在高度安全性風險。
  2. 從高效能 GPU 支援的 WebGL 改用 CPU 支援的實作項目,使用者體驗會變差。使用者無法控制這種行為,因此很難在錯誤報告中加以描述。

在淘汰期間,如果建立 WebGL 情境並使用 SwiftShader 備份,Chrome 開發人員工具主控台會顯示警告。傳遞 --enable-unsafe-swiftshader 會移除這則警告訊息。